package cn.knightzz.helper;

import cn.knightzz.entity.SysMenu;

import java.util.ArrayList;
import java.util.List;

/**
 * @author knightzz
 * @date 2021/4/18 22:07
 */
public class MenuHelper {

    // 递归获取所有的子菜单
    public static List<SysMenu> build(List<SysMenu> sysMenus){
        List<SysMenu> treeNodes = new ArrayList<>();
        for (SysMenu treeNode : sysMenus) {
            if(treeNode.getLevel().equals(1)){
                // 查询子节点
                treeNodes.add(findChildren(treeNode, sysMenus));
            }
        }
        return treeNodes;
    }

    public static SysMenu findChildren(SysMenu treeNode,List<SysMenu> treeNodes){
        treeNode.setChildren(new ArrayList<>());
        for (SysMenu node : treeNodes) {
            if(node.getPid().longValue() == treeNode.getId().longValue() ){
                // node 为 treeNode 子节点
                treeNode.getChildren().add(node);
            }
        }
        return treeNode;
    }
}
